home *** CD-ROM | disk | FTP | other *** search
- function FlashGotDMDialog() {
- flashGotDMDialog=this;
-
- this.url=dialog.mLauncher.source.spec;
-
- setTimeout(
- function() {
- flashGotDMDialog.init();
- },0);
- }
-
- FlashGotDMDialog.prototype = {
- get choosen() {
- return g_flashGotService.getPref("dmchoice");
- }
- ,
- set choosen(v) {
- g_flashGotService.setPref("dmchoice",v);
- return v;
- }
- ,
- init: function() {
-
- try {
- this.referrer=dialog.mContext.QueryInterface(
- Components.interfaces.nsIWebNavigation).currentURI.spec;
- } catch(ex) {
- this.referrer=this.url;
- }
- this.dialog=dialog;
- this.choice=document.getElementById("flashgot-dmradio");
-
- this.fname=dialog.mLauncher.suggestedFileName;
- var ext=this.fname.split('.');
- this.ext=ext.length>0?ext[ext.length-1]:"";
-
- if(g_flashGotService.getPref("dmchoice."+this.ext)) {
- this.download();
- return;
- }
-
- document.getElementById('mode').addEventListener(
- "select", function(event) {
- flashGotDMDialog.toggleChoice(event)
- },true);
-
- if(this.choosen) {
- document.getElementById("mode").selectedItem=this.choice;
- }
-
- document.documentElement.setAttribute('ondialogaccept',
- 'if(flashGotDMDialog.dialogAccepted()) { '
- + document.documentElement.getAttribute('ondialogaccept')
- +'}');
-
- }
- ,
- toggleChoice: function() {
- var mode=document.getElementById("mode");
- var dmchoice= mode.selectedItem == this.choice;
-
- this.choosen=dmchoice;
- var remember=document.getElementById("rememberChoice");
- if(!remember) {
- remember=document.getElementById("alwaysHandle");
- }
- if(dmchoice) {
- window.setTimeout(
- function() {
- document.documentElement.getButton('accept').removeAttribute('disabled');
- },0);
- if(remember) {
- this.lastRememberChecked=remember.checked;
- remember.setAttribute("disabled","true");
- remember.checked=false;
- }
- } else {
- if(remember) {
- remember.removeAttribute("disabled");
- if(this.lastRememberChecked) remember.checked=this.lastRememberChecked;
- }
- }
- }
- ,
- dialogAccepted: function() {
- if(this.choosen) {
- var remember=document.getElementById("rememberChoice");
- if(remember && remember.checked) {
- // g_flashGotService.setPref("dmchoice."+this.ext,true);
- }
- this.download();
- return false;
- } else {
- return true;
- }
- }
- ,
- download: function() {
- var links=[ {
- href: this.url,
- title: this.fname
- } ];
- links.referrer=this.referrer;
- g_flashGotService.download(links);
-
- document.documentElement.removeAttribute('ondialogaccept');
- document.documentElement.cancelDialog();
- }
- }
-
- window.addEventListener("load",
- function(loadEv) {
- new FlashGotDMDialog();
- }, false);
-
-
-
-